import { connect } from 'react-redux'
import Count from '../components/Count'

import { inc, dec,incAsync } from '../redux/actions'
// 给Count创建父组件

// // 是将redux中的数据,经过过滤传递给Count组件
// function mapStateToProps(state) {
//   return {
//     c: state.count,
//   }
// }
// 是将调用disaptch方法封装起来,然后传递给Count组件
// function mapDispatchToProps(dispatch) {
//   return {
//     add: function (num) {
//       dispatch(inc(num))
//     },
//     sub: function (num) {
//       dispatch(dec(num))
//     },
//   }
// }

function mapDispatchToProps(dispatch) {
  return {
    inc: function (num) {
      dispatch(inc(num))
    },
    dec: function (num) {
      dispatch(dec(num))
    },
  }
}
// 这是容器组件
const WithCount = connect((state) => ({ c: state.count }), { inc, dec,incAsync })(
  Count
)
export default WithCount

/*
function mapDispatchToProps (){
  return {
    inc:function(){
      dispatch(inc())
    },
    incAsync:function(){
      // 这个dispatch调用触发了中间件函数
      dispatch(incAsync())
    }
  }
}


*/